Spectrum-Based Fault Localization without Test Oracles

نویسندگان

  • Xiaoyuan Xie
  • W. Eric Wong
  • Tsong Yueh Chen
  • Baowen Xu
چکیده

Spectrum-Based Fault Localization (SBFL) is one of the most promising approaches towards fault localization, and has received a lot of attention due to its simplicity and effectiveness. It utilizes various program spectra and the associated testing result of each individual test case, namely failed or passed, to evaluate the risk of containing a fault for each program entity with different statistical formulas. However, it suffers from a crucial problem which makes it infeasible in many application domains, that is, its assumption of the existence of test oracle. In practice, there are many programs in various domains without such oracles, where obviously, the existing SBFL techniques cannot be applied at all. To address this problem, we introduce a novel type of slices, metamorphic slice (mslice), which is property based, as different from the traditional test case based slices in SBFL. We propose to use mslice instead of slice, and its associated metamorphic testing (MT) result of a metamorphic test group, which is either violated or non-violated, rather than the testing result of failed or passed for individual test cases, to evaluate the risk for each program entity of being faulty. In this way, we can extend SBFL to application domains without test oracles, needless to say that our proposed method is still applicable if the application domains have test oracles. We use a popular UNIX utility program, grep, in our case study to evaluate the effectiveness of the proposed method. With three popular risk formulas (Orchiai, Jaccard and Tarantula), we compare the effectiveness of using mslice and traditional slice in SBFL. The empirical results suggest that for test suites of the same size, there is no significant difference between mslices and traditional slices.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A New Spectrum-based Fault Localization Method by Using Clustering Algorithm

Locating the errors or faults in the software debugging process is very expensive and time-consuming. Therefore, automated debugging has become popular due to its capability to reduce cost and increase the efficiency. Spectrum-based method is one of the most important automated fault localization methods in the Software debugging techniques. Most of the existing spectrum-based fault localizatio...

متن کامل

Incremental Spectrum Cloning Algorithm for optimization of spectrum-based fault localization

Spectrum-based Fault Localization has emerged as a cost effective method to locate faulty code in software during the debugging process. Recent studies have shown that spectra (execution profiles) cloning for fail test cases can effectively improve the performance of certain spectrum-based Fault Localization ranking metrics. However, the amount of cloning required to optimize the performance va...

متن کامل

Experimental Evaluation of Hybrid Algorithm in Spectrum based Fault Localization

During debugging process in software development cycle, fault localization is inevitable work. Diverse approaches have been proposed, such as program slicing, machine learning, and data mining for fault localization. In this paper we propose an effective hybrid fault localization algorithm based on a spectrum that enables fault detection in every statement. This algorithm distinguishes the loca...

متن کامل

Program slicing spectrum-based software fault localization

Spectrum-based fault localization technique mainly utilizes testing coverage information to calculate the suspiciousness of each program element to find the faulty element. However, this technique does not fully take consideration of dependences between program elements , thus its capacity for efficient fault localization is limited. This paper combines program slicing with program spectrum tec...

متن کامل

Fault-based testing without the need of oracles

There are two fundamental limitations in software testing, known as the reliable test set problem and the oracle problem. Fault-based testing is an attempt by Morell to alleviate the reliable test set problem. In this paper, we propose to enhance fault-based testing to alleviate the oracle problem as well. We present an integrated method that combines metamorphic testing with fault-based testin...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010